package com.chenyue.cm.base.service;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.chenyue.cm.base.bean.PageVo;
import com.chenyue.cm.base.bean.Pageable;
import com.chenyue.cm.base.dao.LcBaseMapper;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

public interface BaseServiceIface<T> extends IService<T> {
	
	LcBaseMapper<T, Serializable> getBaseMapper();
	
	BaseMapper<T> getBaseDao();

	int deleteByPrimaryKey(String id);

	int deleteByExample(Object example);
	
//	boolean insert(T record);

	int insertSelective(T record);

    T selectByPrimaryKey(String id);

    int updateByPrimaryKeySelective(T record);

    int updateByPrimaryKeyWithBLOBs(T record);

    int updateByPrimaryKey(T record);

    List<T> selectByExample(Object example);

    PageVo<T> getPageBean(Pageable pageable, Class<T> clazz);

    PageVo<T> getPageBean(Pageable pageable, Map<String, Object> param, Class<T> clazz);

}